HTTP prefetching typically involves pre-requesting content on behalf of a client or browser before any request for that content is actually generated. When content is prefetched it may become possible to satisfy the request for that content locally (with regard to the client or browser), thereby negating the need to transmit the request and wait for the response. For example, in cases where there exists high latency between the client generating the request and the server which responds with the context requested, each negated request/response may avoid the penalty for such latency, thereby potentially reducing the total time required to satisfy the entire series of requests for the client. This may result in an accelerated end user experience.
However, simply by pre-requesting as much content as possible may create undesirable results. For example, speculative prefetching of content which is not ultimately requested by the client may carry both the consequence of consuming bandwidth which in turn delays the return of actual content requested by the client as well as a monetary cost for transmitting such extraneous content. Therefore, to successfully prefetch content without significantly increasing the amount of extraneous information, it may be desirable for a prefetcher system to more accurately predict the requests which a client will actually generate. Less speculative (more accurate) prefetching may then result in a more accelerated and less expensive experience for the end user.